20 - Einführung in die Algorithmik [ID:47531]
50 von 668 angezeigt

Hallo zusammen, es ist Donnerstagabend, wir verbringen wieder unseren Abend zusammen.

Das Schöne ist, wir haben spannende Themen, die wir besprechen wollen und fangen wir mal mit dem

aktuellen Übungsblatt an. Wir haben eine Anfrage bekommen, im Wesentlichen waren das zwei Sachen.

Das erste war, wäre es möglich die Abgabe zu verlängern, weil wir das Einfügen ja quasi erst

heute besprechen, machen wir auf gar keinen Fall, nein, nur ein Spaß. Mittwoch, Sie können gerne

die Lösung bis Mittwoch abgeben, sodass Sie noch ein paar Tage Zeit haben, das nachzuarbeiten.

Das zweite war, in dem Übungsblatt gibt es ja das Problem, dass man auch Knoten mit den gleichen

Elementen einfügen muss und das haben wir so gar nicht hier gemacht. Ja, das ist voll fies und

total richtig und war auch so beabsichtigt. Warum machen wir das? Natürlich nicht, weil wir Sie

ärgern wollen, darum geht es ja gar nicht, sondern weil Sie immer wieder mit der Situation konfrontiert

werden, sei es in der Forschung oder in der Praxis, dass Sie das hier ein Verfahren mal gelernt haben

und plötzlich sehen Sie, okay, so in der Form funktioniert das gar nicht, weil sich die Rahmenbedingungen

ganz leicht geändert haben. Also im Grunde genommen ist das eine Minitransferaufgabe, in der man sich

überlegen muss, was mache ich jetzt eigentlich, wie gehe ich damit um und da gibt es mehrere,

mehrere Lösungen, ist wirklich nicht schwierig, also da kommen Sie, also Sie, die hier sind,

kommen wahrscheinlich sicher drauf. Okay, dann legen wir mal los. Wir beschäftigen uns immer noch

mit dem faszinierenden Thema der B-Bäume, damit werden wir anfangen und wenn wir zeitlich fix

genug sind, können wir uns auch AVL-Bäume anschauen. Ich möchte gerne noch einmal in

Erinnerung rufen, was das ist und warum wir das machen, es hatte mich eine der Kommilitonen

nachgefragt am Ende, warum machen wir das und dann habe ich gemerkt, meine Motivation ist

wahrscheinlich ausbaufähig an der Stelle. Darum wiederholen wir das noch mal ganz kurz, warum wir

bei uns überhaupt B-Bäume anschauen. Also bis jetzt haben wir relativ schön gesehen,

Bäume sind toll, solange die Bäume balanciert sind, weil wenn sie nicht balanciert sind,

dann sind das im Wesentlichen entartete Bäume, das waren diese blöden Listen, die von der

Datenstruktur her toll sind, aber die ganzen schönen Sucheigenschaften und so weiter nicht

mehr haben. So, das ist auch quasi das, was wir im Kopf haben und jetzt sagen die B-Bäume,

naja, was wir gerne vermeiden wollen, ist, dass wir eine unglaublich hohe Tiefe haben. Also wir

wollen eine Baumkonstruktion machen, die relativ flach ist und warum wollen wir das haben? Na ja,

wenn wir uns das optisch mal vorstellen, dann können wir uns vorstellen, dass das hier, sagen

wir mal, der Hauptspeicher ist, Ram und es ist klar, egal wie groß der ist, der ist natürlich

limitiert, irgendwann ist dieser Speicher einfach voll. Das heißt, wir wollen vielleicht noch einen

kleinen Platz reservieren innerhalb dieses Speichers, damit wir gewisse Operationen durchführen

müssen, aber was machen wir mit unseren riesigen Datenmengen? Also wenn Sie später vielleicht mal

medizinische Daten durchflügen oder im Bereich der KI sind, wo Sie riesige Datenmengen haben oder

auf verschlüsselten Daten arbeiten wollen, die sind in der Regel auch sehr groß, dann ist einfach

die Frage, irgendwo muss der Speicher hin. Das heißt, wir kriegen alles nicht in unseren Hauptspeicher

rein und wenn wir riesige Datenbanken haben, dann haben wir hier in der Regel eine große Datenbank,

die nicht so schnell ist wie unser fantastischer Arbeitsspeicher und das einzige, was wir machen

können, ist die einzige Möglichkeit, wir müssen Daten aus dieser Datenbank lesen und in unseren

Hauptspeicher reinschieben und gegebenenfalls wieder zurückschreiben und das Problem bei diesem

Ansatz, eigentlich kein Problem, aber das, was das herausfordernd macht, ist, dass diese Operation

hier, die ist langsam. Sie können sich vorstellen, dass die Daten vielleicht in der Google Cloud oder

so liegen, aber das hier ist das teure und wenn wir jetzt ganz normale Baumstrukturen haben, also

beliebige Binärbäume, dann kann es sein, dass diese Knoten einfach irgendwo hier verteilt liegen und

sie dadurch eine sehr hohe Anzahl an Zugriffen haben. Also immer wenn ich darauf

greife, wenn ich darauf zugreifen muss, ganz schlechte Idee und die Idee der B-Bäume ist, dass man

diesen Platz, den man hier eben zur Verfügung hat, also das hier, dass man die Knoten von den

B-Bäumen entsprechend groß wählt. Also idealerweise können wir einen Knoten eines B-Baumes wunderbar

in diesen Speicher reinlegen und wir hatten dann auch gesagt, dadurch, dass dieser Zugriff auf unser

externes Medium hier so unglaublich teuer ist, ist es in der Tat in der Praxis egal, wie wir unseren

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

01:30:48 Min

Aufnahmedatum

2023-07-06

Hochgeladen am

2023-07-06 23:19:04

Sprache

de-DE

Einbetten
Wordpress FAU Plugin
iFrame
Teilen